Non-transitory computer-readable storage medium storing computer-readable program for the terminal, terminal and method

ABSTRACT

A terminal performs: in response to receipt of first identifying information, from a first function-executing device via a first wireless connection established between the terminal and the first function-executing device, receiving, when the computer program is launched by an OS program of the terminal, at least the first device-identifying information from the OS program; establishing a second wireless connection between the terminal and the first function-executing device, using the first device-identifying information received from the OS program without requiring user input of an operation for selecting a connection-target function-executing device from at least one function-executing device; receiving first function information that indicates at least one function executable by the first function-executing device; and displaying, a first function screen for enabling a user to select a function required of the first function-executing device to execute, from the at least one function executable by the first function-executing device.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority from Japanese Patent Application No.2017-046671 filed on Mar. 10, 2017, the content of which is incorporatedherein by reference in its entirety.

Field of Disclosure

Aspects disclosed herein relate to a terminal capable of displaying afunction screen for enabling a user to select a function required of afunction executing device to execute.

BACKGROUND

Some known communication system includes a mobile terminal and aplurality of multifunction devices. In response to execution of anoperation for launching an output program, the mobile terminal executesnecessary processing in accordance with the output program. That is, inresponse to receipt of instruction for executing a searching operation,the mobile terminal searches one or more multifunction devices withwhich the mobile terminal is capable of communicating, and displays oneor more multifunction devices found by the search, on a device selectingscreen that enables a user to select a desired multifunction device.Subsequently, in response to input of user selection of a desiredmultifunction device, the mobile terminal communicates with themultifunction device selected on the device selecting screen to receivedevice information on the selected multifunction device. Thus, themobile terminal displays a main screen for enabling the user to selectan operation required of the multifunction device to perform, based onthe device information.

SUMMARY

Nevertheless, in the known technique, the user may need to performmultiple operations including the output program launching operation,the searching operation, and the selecting operation on the deviceselecting screen, in order for the mobile terminal to display the mainscreen for enabling the user to select an operation required of themultifunction device to perform. Accordingly, some embodiments of thedisclosure provide for a technique of improving user friendliness indisplaying a function screen on a terminal.

According to the one or more aspects of the disclosure, a non-transitorycomputer-readable storage medium storing a computer program for causinga computer of a terminal to perform: receiving first device-identifyinginformation from an operating system (“OS”) program of the terminal,wherein the first device-identifying information identifies a firstfunction-executing device and is included in first identifyinginformation received at the terminal, the first identifying informationbeing received at the terminal from the first function executing devicevia a first wireless connection established between the terminal and thefirst function executing device via a first wireless interface of theterminal; receiving first function information that indicates at leastone function executable by the first function-executing device, from thefirst function-executing device via a second wireless connection betweena second wireless interface of the terminal and the firstfunction-executing device, wherein the second wireless connection isestablished without requiring user input of an operation for selecting aconnection-target function-executing device from at least onefunction-executing device, and wherein a maximum communicable speed ofwireless communication via the second wireless interface is faster thana maximum communicable speed of wireless communication via the firstwireless interface; and displaying, on a display of the terminal, atleast one user-selectable function included in a first function screen,the at least one user-selectable function selected for display based onthe first function information and executable by the firstfunction-executing device.

According to the one or more aspects of the disclosure, a terminalcomprising: a first wireless interface; a second wireless interface thatis different from the first wireless interface, wherein a maximumcommunicable speed of wireless communication via the second wirelessinterface is faster than a maximum communicable speed of wirelesscommunication via the first wireless interface; a display; a memory; anda controller configured to execute instructions from the memory that,when executed, cause the terminal to perform: receiving firstdevice-identifying information, wherein the first device-identifyinginformation identifies a first function-executing device and is includedin first identifying information received at the terminal, the firstidentifying information being received at the terminal from the firstfunction executing device via a first wireless connection establishedbetween the terminal and the first function executing device via thefirst wireless interface; in response to receipt of the firstdevice-identifying information, establishing a second wirelessconnection via the second wireless interface using the firstdevice-identifying information without requiring user input of anoperation for selecting a connection-target function-executing devicefrom at least one function-executing device; and receiving firstfunction information that indicates at least one function executable bythe first function-executing device, from the first function-executingdevice via the second wireless connection between the second wirelessinterface of the terminal and the first function-executing device,displaying, on a display of the terminal, at least one user-selectablefunction included in a first function screen, the at least oneuser-selectable function selected for display based on the firstfunction information and executable by the first function-executingdevice.

According to the one or more aspects of the disclosure, a methodcomprising: receiving first device-identifying information, wherein thefirst device-identifying information identifies a firstfunction-executing device and is included in first identifyinginformation received at a terminal, the first identifying informationbeing received at the terminal from the first function executing devicevia a first wireless connection established between the terminal and thefirst function executing device via a first wireless interface of theterminal; in response to receipt of the first device-identifyinginformation, establishing a second wireless connection via a secondwireless interface of the terminal using the first device-identifyinginformation without requiring user input of an operation for selecting aconnection-target function-executing device from at least onefunction-executing device; and receiving first function information thatindicates at least one function executable by the firstfunction-executing device, from the first function-executing device viathe second wireless connection between the second wireless interface ofthe terminal and the first function-executing device; and displaying, ona display of the terminal, at least one user-selectable functionincluded in a first function screen, the at least one user-selectablefunction selected for display based on the first function informationand executable by the first function-executing device; wherein a maximumcommunicable speed of wireless communication via the second wirelessinterface is shorter than a maximum communicable speed of wirelesscommunication via the first wireless interface.

The terminal and methods executed by the terminal may have novelty andutility. Communication systems including the terminal and a functionexecuting device may also have novelty and utility.

BRIEF DESCRIPTION OF THE DRAWINGS

Aspects of the disclosure are illustrated by way of example and not bylimitation in the accompanying figures in which like referencecharacters indicate similar elements.

FIG. 1 illustrates a configuration of a communication system in anillustrative embodiment according to one or more aspects of thedisclosure.

FIG. 2 is a flowchart of processing executed by a mobile terminal in theillustrative embodiment according to one or more aspects of thedisclosure.

FIG. 3 is an operation sequence diagram for communication between themobile terminal and a multifunction peripheral when an MFP applicationis launched for the first time in the illustrative embodiment accordingto one or more aspects of the disclosure.

FIG. 4 is a continuation of the operation sequence diagram of FIG. 3 inthe illustrative embodiment according to one or more aspects of thedisclosure.

FIG. 5 is an operation sequence diagram for communication between themobile terminal and the multifunction peripheral in Case A when the MFPapplication is launched for the second or subsequent time in theillustrative embodiment according to one or more aspects of thedisclosure.

FIG. 6 is an operation sequence diagram for communication between themobile terminal and the multifunction peripheral in Case B when the MFPapplication is launched for the second or subsequent time in theillustrative embodiment according to one or more aspects of thedisclosure.

FIG. 7 is an operation sequence diagram for communication between themobile terminal and another multifunction peripheral in Case C when theMFP application is launched for the second or subsequent time in theillustrative embodiment according to one or more aspects of thedisclosure.

FIG. 8 is a continuation of the operation sequence diagram of FIG. 7 inthe illustrative embodiment according to one or more aspects of thedisclosure.

DETAILED DESCRIPTION

(Configuration of Communication System 2: FIG. 1)

As illustrated in FIG. 1, a communication system 2 includes a mobileterminal 10 and a plurality of multifunction peripherals (“MFP”) 100 and200. Each of the mobile terminal 10 and the MFPs 100 and 200 isconfigured to selectively perform wireless communication in compliancewith a Wi-Fi® (Wi-Fi® is a registered certification mark owned by theWi-Fi Alliance of Austin, Tex.) system (hereinafter, referred to as a“Wi-Fi® communication”) and wireless communication in compliance with aNear Field Communication (“NFC”) system (hereinafter, referred to as an“NFC communication”).

(Configuration of Mobile Terminal 10)

The mobile terminal 10 may be a portable terminal, for example, mobilephones, smartphones, personal digital assistants (“PDAs”),general-purpose laptops or general-purpose notebook computers,general-purpose tablet or mobile computers, mobile music players, ormobile movie players. The mobile terminal 10 includes an operationinterface 12, a display 14, a Wi-Fi® interface (“I/F”) 16, an NFCinterface (“I/F”) 18, and a controller 30, each of which is connected toa bus line (its reference numeral is not assigned).

The operation interface 12 includes a plurality of keys or buttons. Theuser is enabled to provide various instructions to the mobile terminal10 by operating the operation interface 12. The display 14 is configuredto display various information thereon. The display 14 also functions asa touch screen. That is, the display 14 also serves as an operationinterface.

The Wi-Fi® I/F 16 is a wireless interface for enabling Wi-Fi®communication that complies with the Wi-Fi® system. In the Wi-Fi®system, wireless communication is performed in compliance with, forexample, the standard IEEE (The Institute of Electrical and ElectronicsEngineers, Inc.) 802.11 and its family standards (e.g., 802.11a,802.11b, 802.11g, and 802.11n). The Wi-Fi® I/F 16 supports a Wi-FiDirect™ (Wi-Fi Direct™ is a certification mark owned by the Wi-FiAlliance of Austin, Tex.) (“WFD”) system developed by the Wi-Fi Allianceparticularly, and enables wireless communication in compliance with theWFD system (hereinafter, referred to as “WFD communication”. The WFDsystem is wireless communication specified in “Wi-Fi Peer-to-Peer (P2P)Technical Specification Version 1.1” created by the Wi-Fi Alliance.

The NFC I/F 18 enables NFC communication that complies with the NFCsystem. The NFC system is a wireless communication system in compliancewith the International standard, e.g., ISO/IEC 14443, ISO/IEC 15693, orISO/IEC 18092. In the illustrative embodiment, the NFC I/F 18 isconfigured to operate in a Reader mode of the NFC system to read (i.e.,receive) data from an NFC I/F (not illustrated) of each of the MFPs 100and 200 that each operates in a Card Emulation (“CE”) mode of the NFCsystem. Nevertheless, in other embodiments, for example, the NFC I/F 18may operate in a P2P mode of the NFC system or in the CE mode to receivedata from the NFC I/F of each of the MFPs 100 and 200.

A communication method may be different between the NFC system and theWFD system. A communication speed in the Wi-Fi® communication is fasterthan a communication speed in the NFC system. More specifically, forexample, the maximum communication speed in the Wi-Fi® system may bebetween 11 and 600 Mbps and the maximum communication speed in the NFCcommunication may be between 100 and 424 Kbps. Further, Wi-Fi®communication uses a different carrier frequency from the NFCcommunication. More specifically, for example, Wi-Fi® communication mayuse a 2.4 GHz band or a 5.0 GHz band and the NFC communication may use a13.56 MHz band. The maximum communicable distance in Wi-Fi®communication is greater than the maximum communicable distance in NFCcommunication. More specifically, for example, the maximum communicabledistance in Wi-Fi® communication may be approximately 100 m and maximumcommunicable distance in NFC communication may be approximately 10 m.

The controller 30 includes a central processing unit (“CPU”) 32 and amemory 34. The CPU 32 is configured to execute various processing inaccordance with an operating system (“OS”) program 38 stored in thememory 34. The memory 34 may include a volatile memory and a nonvolatilememory. The OS program 38 is configured to implement ordinary operationsof the mobile terminal 10. In the illustrative embodiment, the OSprogram 38 may be an Android™ (Android™ is a trademark owned by GoogleInc. of Mountain View, Calif.) OS program. Nevertheless, in otherembodiments, for example, the OS program 38 may be another program,e.g., iOS® (iOS® is a registered trademark owned by Cisco Technology,Inc. of San Jose, Calif.) program. The memory 34 is configured to alsostore an MFP application 40. The MFP application 40 is configured tocause each of the MFPs 100 and 200 to execute various functions. In oneexample, the MFP application 40 may be installed on the mobile terminal10 from a server provided on the Internet by a vendor of the MFPs 100and 200. In another example, the MFP application 40 may be installed onthe mobile terminal 10 from a medium packed and shipped with each of theMFPs 100 and 200.

The memory 34 includes a manifest storage area 42 that may be an areafor storing a manifest of an installed application. A manifest is a fileprovided for each application. When an application is downloaded andinstalled on the mobile terminal 10, its application manifest is alsodownloaded and stored into the manifest storage area 42. The manifestincludes a package name that identifies the corresponding application,and one or more activities. The package name includes a domain name thatis indicated by a text string including letters arranged from the leftto the right, e.g., “com.example.android.beam”. Each activity defines ascreen to be displayed by the application, and more specifically, forexample, defines launch conditions and actions for a screen.

When the MFP application 40 is installed on the mobile terminal 10, amanifest “EXAMPLE” of the MFP application 40 is stored into the manifeststorage area 42. The manifest “EXAMPLE” includes a package name “X” thatidentifies the MFP application 40, and an activity “Y” for a launchscreen (refer to step S10). The activity “Y” may be interpreted by theCPU 32. In response to the CPU 32 interpreting the activity “Y”, theactivity “Y” causes the CPU 32 to execute the following processing. Thatis, in a case where the mobile terminal 10 receives NFC Data ExchangeFormat (“NDEF”) information from an external device and type informationof the first record in the NDEF information includes a Type Name Format(“TNF”) “0x04 (NFC Forum external type)” and a Type “Z”, the CPU 32launches the launch screen (refer to step S10) and provides the NDEFinformation to the MFP application 40. This situation may be implementedin a case where an intent-filter of the activity “Y” contains thefollowing descriptions:

-   “<action android:name=“android.nfc.action.NDEF_DISCOVERED”/>” and    “<data android:scheme=“vnd.android.nfc”-   android:host=“ext”-   android:pathPrefix=“/Z”/>”.

The memory 34 further includes a history area 48 that may be a storagearea for history information relating to a usage history of an MFP(e.g., the MFP 100). The history information may be obtained by the MFPapplication 40 from the MFP. Therefore, until the MFP application 40 islaunched for the first time, no history information is stored in thehistory area 48.

(Configuration of MFPs 100 and 200)

The MFP 100 is configured to execute multiple functions, e.g., aprinting function, a scanning function, and a copying function. That is,the MFP 100 is a peripheral device for the mobile terminal 10. The MFP100 includes a Wi-Fi® I/F (not illustrated) and a NFC I/F (notillustrated) and is configured to selectively perform WFD communicationand NFC communication. The Wi-Fi® I/F of the MFP 100 is assigned with aMedia Access Control (“MAC”) address “A1”. The MFP 100 is assigned witha model name “M1” and a serial number “N1” that identifies the MFP 100.The MFP 100 stores function information 102 indicating the printingfunction, the scanning function, and the copying function executable bythe MFP 100.

The MFP 200 includes a similar configuration to the MFP 100. The MFP 200is configured to execute a facsimile (“FAX”) function in addition to theprinting function, the scanning function, and the copying function. AWi-Fi® I/F of the MFP 200 is assigned with a MAC address “A2”, whichdiffers from the MAC address “A1” of the MFP 100. The MFP 200 isassigned with a model name “M2”, which also differs from the model name“M1” of the MFP 100. The MFP 200 is assigned with a serial number “N2”,which also differs from the serial number “N1” of the MFP 100. The MFP200 stores function information 202 indicating the printing function,the scanning function, the copying function, and the facsimile functionexecutable by the MFP 200.

Each of the MFPs 100 and 200 is configured to, in response to apredetermined trigger event, become a Group Owner (“G/O”) of the WFDsystem and operate in the G/O status. That is, each of MFPs 100 and 200may configure a wireless network (“WFDNW”) in which each of the MFPs 100and 200 operates as a master station. The WFDNW configured by the MFP100 is assigned with a different Service Set Identifier (“SSID”) fromthe WFDNW configured by the MFP 200. An SSID is an identifier for aWFDNW. In other embodiments, for example, each of the MFPs 100 and 200may operate as a SoftAP and configure a wireless network in which eachof the MFPs 100 and 200 operates as a master station.

(Processing Executed in Mobile Terminal 10: FIG. 2)

Referring to FIG. 2, processing executed by the CPU 32 of the mobileterminal 10 will be described. The CPU 32 monitors establishment of awireless connection between the mobile terminal 10 and an MFP (e.g., theMFP 100) via the NFC I/F 18 (hereinafter, such a connection is referredto as an “NFC connection”). In response to receipt of informationindicating establishment of an NFC connection from the NFC I/F 18, theCPU 32 executes processing of FIG. 2. Hereinafter, an MFP that hasestablished an NFC connection with the mobile terminal 10 is referred toas the “target MFP”. At the time of starting the processing of FIG. 2,the MFP application 40 is not launched yet. Before the MFP application40 is launched, each processing (e.g., steps S5 and S8) is implementedby the OS program 38. After the MFP application 40 is launched, eachprocessing is implemented by a combination of the OS program 38 and theMFP application 40.

In step S5, the CPU 32 receives NDEF information from the target MFP viathe NFC I/F 18. The NDEF information includes an Android ApplicationRecord (“AAR”), a MAC address of the target MFP, a serial number of thetarget MFP, and type information of the first record in the NDEFinformation. In the illustrative embodiment, the ARR includes thepackage name “X” of the MFP application 40. The type information of thefirst record in the NDEF information includes the TNF “0x04 (NFC Forumexternal type)” and the Type “Z”.

In step S8, in response to recognition of receipt of the NDEFinformation including the type information of the first record in theNDEF information that includes the TNF “0x04 (NFC Forum external type)”and the Type “Z” and recognition that the received AAR includes thepackage name “X”, the CPU 32 determines whether there is an activitywhich includes the package name “X” and is required to be executed inaccordance with the type information including the TNF “0x04 (NFC Forumexternal type)” and the Type “Z”. In the illustrative embodiment, theactivity “Y” included in the manifest “EXAMPLE” applies. Therefore, theCPU 32 determines that the applicable activity is present by referringto the manifest storage area 42. In response to this, the CPU 32launches the MFP application 40 identified by the package name “X”. Morespecifically, for example, the CPU 32 provides a trigger command to theMFP application 40. The trigger command may be a command for instructingthe MFP application 40 to display the launch screen (refer to step S10)corresponding to the activity “Y”. Thus, the MFP application 40 executesprocessing of step S10 in response to the trigger command. Nevertheless,this trigger command does not instruct the MFP application 40 to displayother screens (e.g., screens to be displayed in steps S20, S45, and S55)that are to be displayed subsequent to displaying of the launch screen.Each of the other screens is configured to be displayed subsequent todisplaying of the launch screen in response to a respective commandprovided by the MFP application 40 but not in response to the triggercommand. The CPU 32 provides (i.e., passes) the NDEP informationreceived in step S5 to the MFP application 40 together with the triggercommand. Nevertheless, in other embodiments, for example, the CPU 32might not necessarily provide all pieces of information included in theNFED information. For example, in a case where only MAC address includedin the NFED information is required in subsequent steps, only the MACaddress may be provided to the MFP application 40. In the illustrativeembodiment, it is assumed that, in the processing of FIG. 2, the MFPapplication 40 is not launched yet when an NFC connection is establishedbetween the target MFP and the mobile terminal 10. Nevertheless, it isalso conceivable that, in some cases, the MFP application 40 may havealready been launched when an NFC connection is established between thetarget MFP and the mobile terminal 10. In the latter case, the CPU 32does not provide the trigger command to the MFP application 40 butprovides the NDEF information to the MFP application 40. Further, theroutine skips step S10 and the CPU 32 executes processing of step S15and subsequent steps.

In step S10, the CPU 32 displays the launch screen on the display 14.The launch screen is a so-called splash screen and includes a vendorname of the target MFP. Displaying the launch screen on the display 14may notify the user of launching of the MFP application 40.

In step S15, the CPU 32 determines whether permission for use of the MFPapplication 40 has been granted. More specifically, for example, the CPU32 determines whether a permission flag is stored in the memory 34. Thepermission flag indicates that permission for use of the MFP application40 has been granted. When the CPU 32 determines that the permission flagis stored in the memory 34, the CPU 32 determines that permission foruse of the MFP application 40 has been granted (e.g., YES in step S15)and the routine proceeds to step S47. When the CPU 32 determines thatthe permission flag is not stored in the memory 34, the CPU 32determines that permission for use of the MFP application 40 has notbeen granted (e.g., NO in step S15) and the routine proceeds to stepS20.

In step S20, the CPU 32 displays a permission screen on the display 14.The permission screen may be displayed for asking the user whether useof the MFP application 40 is permitted. The permission screen includes aYES button that enables the user to grant permission for use of the MFPapplication 40.

In step S25, the CPU 32 determines whether an input indicating that theYES button has been operated has been received. When the YES button hasbeen operated by the user, the CPU 32 makes a positive determination(e.g., YES) in step S25 and stores the permission flag in the memory 34.Then, the routine proceeds to step S30. When the YES button has not beenoperated by the user, i.e., when another button indicating that the useof the MFP application 40 is not permitted has been operated by theuser, the CPU 32 makes a negative determination (e.g., NO) in step S25.Then, the routine of FIG. 2 ends without proceeding to step S30 andsubsequent steps. Thus, in a case where permission for use of the MFPapplication 40 has not been granted by the user, i.e., if the user doesnot desire to use the MFP application 40, such a configuration may avoidexecution of step S30 and subsequent steps in which the MFP application40 is to be used.

In step S30, the CPU 32 displays a function screen on the display 14.This function screen may be a predetermined default screen and includetext strings indicating predetermined two functions, e.g., the printingfunction and the scanning function, respectively. The default functionscreen does not include the model name of the target MFP. The defaultfunction screen does not allow the user to perform any operationsthereon and may be a standby screen for having the user waiting until afunction screen for the target MFP is displayed in step S45.Nevertheless, in other embodiments, for example, the processing of stepS30 may be omitted. That is, subsequent to displaying of the launchscreen of step S10, the function screen for the target MFP of step S45may be displayed the next without displaying the default function screenof step S30.

In step S35, the CPU 32 establishes a wireless connection via the Wi-Fi®I/F 16 (hereinafter, referred to as the “WFD connection”) between themobile terminal 10 and the target MFP. More specifically, for example,the CPU 32 broadcasts a probe request for searching one or more masterstations (e.g., G/O-status devices and/or access points) of wirelessnetworks surrounding the mobile terminal 10. In response to this, theCPU 32 receives, from each of one or more master stations including theG/O-status target MFP, a probe response including a MAC address of themaster station and an SSID of the wireless network configured by themaster station. Subsequently, the CPU 32 identifies the probe responseincluding the MAC address of the target MFP received in step S5, i.e.,the probe response sent from the target MFP, among the one or morereceived probe responses. The CPU 32 then identifies the SSID includedin the identified probe response, i.e., the SSID of the WFDNW configuredby the target MFP (hereinafter, referred to as the “target WFDNW”).Thereafter, the CPU 32 unicasts a probe request including the identifiedSSID to the target MFP. The unicast probe request may be a command forrequesting the target MFP to give permission for the mobile terminal 10to join the target WFDNW configured by the target MFP. The CPU 32receives a probe response from the target MFP in response to the unicastprobe request and communicates various signals (e.g., Authenticationsignal, Association signal, WPS Exchange, and 4-way handshake) with thetarget MFP. During communication of the WPS Exchange, the CPU 32receives a password to be used in the target WFDNW from the target MFP.During communication of the various signals, the CPU 32 transmits thepassword to the target MFP. In response to success of passwordauthentication in the target MFP, the CPU 32 establishes a WFDconnection between the mobile terminal 10 and the target MFP. Thus, theCPU 32 allows the mobile terminal 10 to join the target WFDNW as a slavestation. In response to establishment of the WFD connection between themobile terminal 10 and the target MFP, the CPU 32 stores the MAC addressof the target MFP in a predetermined area of the memory 34. Thepredetermined area may be an area for storing a MAC address of a devicewith which the mobile terminal 10 currently establishes a WFDconnection, i.e., the MAC address of the target MFP. Until the WFDconnection between the mobile terminal 10 and the target MFP is broken,the CPU 32 holds the MAC address of the target MFP in the predeterminedarea of the memory 34.

For example, in a comparative case, it is assumed that the mobileterminal 10 does not receive the MAC address of the target MFP in stepS5. In this case, since the mobile terminal 10 does not receive the MACaddress of the target MFP, in step S35, the mobile terminal 10 cannotidentify the probe response sent from the target MFP among the one ormore probe responses received in response to the broadcast proberequest. Therefore, the mobile terminal 10 may need to display the oneor more SSIDs included in the respective one or more probe responses andprompt the user to select the SSID of the target WFDNW from the one ormore SSIDs, i.e., prompt the user to perform an input operation forselecting the target MFP (hereinafter, referred to as the “deviceselecting operation”). As opposed to this, in the illustrativeembodiment, the mobile terminal 10 receives the MAC address of thetarget MFP in step S5. Therefore, a WFD connection may be establishedbetween the mobile terminal 10 and the target MFP using the received MACaddress without requiring the user's device selecting operation.

In step S40, the CPU 32 receives MFP information from the target MFP viathe Wi-Fi® I/F 16 through the WFD connection established in step S35.More specifically, for example, the CPU 32 transmits an MFP informationrequest to the target MFP. In response to this, the CPU 32 receives MFPinformation from the target MFP. The MFP information includes a modelname of the target MFP, function information 102 indicating one or morefunctions executable by the target MFP (refer to FIG. 1), and capabilityinformation indicating capability of the target MFP relating to eachfunction. Capability information on the printing function includes, forexample, sheet tray availability (e.g., information indicating whichtray is available), printing resolution availability (e.g., informationindicating which resolution is available), printing color availability(e.g., information indicating which color printing, color and/ormonochrome, is available), and duplex printing availability (e.g.,information indicating whether duplex printing is available). Capabilityinformation on the scanning function includes, for example, documentsize availability (e.g., information indicating which size of documentsis available for scanning), scanning resolution availability (e.g.,information indicating which resolution is available), and scanningcolor availability (e.g., information indicating which color scanning,color and/or monochrome, is available). Capability information on thecopying function includes, for example, sheet tray availability (e.g.,information indicating which tray is available), and scanning coloravailability (e.g., information indicating which color copying, colorand/or monochrome, is available).

In step S43, the CPU 32 stores history information in the history area48 of the memory 43. The history information includes the serial numberof the target MFP received in step S5 and the MFP information receivedin step S40.

In step S45, the CPU 32 displays a function screen for the target MFP onthe display 14 using the MFP information received in step S40. Thefunction screen for the target MFP includes text strings representingthe functions identified by the function information included in the MFPinformation, and enables the user to select a function required of thetarget MFP to execute, from the identified functions. The functionscreen for the target MFP includes the model name of the target MFPincluded in the MFP information. This function screen for the target MFPmay enable the user to confirm the target MFP by looking at the modelname on the function screen and further to confirm the functionsexecutable by the target MFP by looking the text strings representingthe respective functions on the function screen. In response tocompletion of step S45, the processing of FIG. 2 ends.

As described above, in step S15, when the CPU 32 determines thatpermission for use of the MFP application 40 has been granted by theuser (e.g., YES in step S15), the routine proceeds to step S47. In stepS47, the CPU 32 determines whether history information is stored in thehistory area 48. When the CPU 32 determines that history information isalready stored in the history area 48, the CPU 32 makes a positivedetermination (e.g., YES) in step S47 and the routine proceeds to stepS50. When the CPU 32 determines that no history information is stored inthe history area 48, the CPU 32 makes a negative determination (e.g.,NO) in step S47 and executes the processing of steps S30 to S45. Forexample, in a case where establishment of the WFD connection is failedin step S35 although permission for use of the MFP application 40 wasgranted by the user (e.g., YES in step S25) in the processing of FIG. 2,the CPU 32 makes a negative determination (e.g., NO) in step S47 thistime.

In step S50, the CPU 32 determines whether the serial number received instep S5 matches with the serial number included in the historyinformation. That is, the CPU 32 determines whether the target MFP to beused this time (hereinafter, referred to as the “current target MFP”) isthe same as the target MFP used last time (hereinafter, referred to asthe “last target MFP”). When the CPU 32 determines that the serialnumber received in step S5 matches with the serial number included inthe history information, the CPU 32 makes a positive determination(e.g., YES) in step S50 and the routine proceeds to step S65. When theCPU 32 determines that the serial number received in step S5 does notmatch with the serial number included in the history information, theCPU 32 makes a negative determination (e.g., NO) in step S50 and theroutine proceeds to step S55.

In step S55, the CPU 32 displays a confirmation screen including an OKbutton on the display 14. The confirmation screen may be displayed forasking the user whether a WFD connection needs to be established withthe current target MFP that is different from the last target MFP. Sucha confirmation screen may therefore enable the user to notify that thecurrent target MFP is different from the last target MFP.

In step S60, the CPU 32 determines whether an input indicating that theOK button included in the confirmation screen has been operated. Whenthe OK button has been operated by the user, the CPU 32 makes a positivedetermination (e.g., YES) in step S60 and executes the processing ofsteps S30 to S45. In this case, in step S43, the CPU 32 erases thehistory information relating to the last target MFP from the historyarea 48 and stores the history information relating to the currenttarget MFP in the history area 48. When the OK button has not beenoperated, i.e., when another button indicating that a WFD connectiondoes not need to be established with the current target MFP, the CPU 32makes a negative determination (e.g., NO) in step S60. Then, the CPU 32ends the processing of FIG. 2 without executing the processing of stepsS30 to S45. Therefore, if the user does not desire to establish a WFDconnection between the mobile terminal 10 and the current target MFPthat is different from the last target MFP, this configuration may avoidestablishment of the needless WFD connection.

In step S65, the CPU 32 displays a function screen for the currenttarget MFP that is the same as the last target MFP, on the display 14,using the history information included in the history area 48. Asdescribed above, the function screen for the current target MFP isdisplayed prior to receipt of MFP information from the current targetMFP. This configuration may therefore the function screen for thecurrent target MFP to be displayed promptly or with least time.

In step S70, the CPU 32 determines whether a WFD connection has beenestablished between the mobile terminal 10 and the target MFP. Morespecifically, for example, the CPU 32 determines whether the MAC addressof the target MFP received in step S5 is stored in the predeterminedarea of the memory 34 (e.g., the area for storing the MAC address of thedevice with which the mobile terminal 10 currently establishes a WFDconnection). When the CPU 32 determines that the MAC address of thetarget MFP received in step S5 is stored in the predetermined area ofthe memory 34, the CPU 32 determines that the WFD connection has beenestablished between the mobile terminal 10 and the target MFP (e.g., YESin step S70) and the routine proceeds to step S80. When the CPU 32determines that the MAC address of the target MFP received in step S5 isnot stored in the predetermined area of the memory 34, the CPU 32determines the WFD connection is not established between the mobileterminal 10 and the target MFP (e.g., NO in step S70) and the routineproceeds to step S75.

In step S75, similarly to step S35, the CPU 32 establishes a WFDconnection between the mobile terminal 10 and the target MFP again.Therefore, the CPU 32 stores the MAC address of the target MFP in thepredetermined area.

In step S80, similarly to step S40, the CPU 32 receives MFP informationfrom the target MFP.

In step S85, the CPU 32 erases the history information from the historyarea 48 and stores new history information including the MFP informationreceived in step S80 in the history area 48. In response to completionof step S85, the processing of FIG. 2 ends.

(Processing Implemented by Mobile Terminal 10 and MFP 100 or by MobileTerminal 10 and MFP 200: FIGS. 3 to 8)

Referring to FIGS. 3 to 8, an explanation will be made on a specificexample case implemented by the processing of FIG. 2 and operationsperformed by the mobile terminal 10 and the MFP 100 or by the mobileterminal 10 and the MFP 200 when one of the functions is selected on thefunction screen for the target MFP displayed in step S45 or S65 of FIG.2. In FIGS. 3 to 8, thin arrows indicated between the mobile terminal 10and either of the MFPs 100 and 200 represent NFC communication, andthick arrows indicated between the mobile terminal 10 and either of theMFPs 100 and 200 represent Wi-Fi® communication. Hereinafter, for easierunderstanding, the mobile terminal 10 is regarded as the doer ofoperations implemented by the CPU 32 of the mobile terminal 10.

(Processing Executed when MFP Application 40 is Launched for the FirstTime: FIGS. 2 and 3)

Referring to FIGS. 2 and 3, an explanation will be made on processingexecuted when the MFP application 40 is launched for the first timesince the MFP application 40 was installed on the mobile terminal 10.

In step T10, the mobile terminal 10 is brought close to the MFP 100 bythe user. In response to this, in step T12, an NFC connection isestablished between the mobile terminal 10 and the MFP 100 (e.g., thetrigger event in the processing of FIG. 2).

In step T20, the mobile terminal 10 transmits a Read command for readingNDEF information from the MFP 100, via the NFC connection. In responseto this, in step T30, the mobile terminal 10 receives NDEF informationfrom the MFP 100 (e.g., step S5). The NDEF information includes AARincluding the package name “X”, the MAC address “A1”, the serial number“N1”, and the type information (e.g., the TNF “0x04” and the Type “Z”)of the first record.

In step T32, the MFP 100 becomes a G/O status, and configures a WFDNWwhen establishing the NFC connection with the mobile terminal 10. TheMFP 100 generates wireless setting information (e.g., an SSID and apassword) to be used in a respective WFDNW every time the MFP 100becomes a G/O status. In the example case of FIG. 3, the MFP 100generates an SSID “D1”.

In step T40, the mobile terminal 10 launches the MFP application 40(e.g., step S8). In step T42, the mobile terminal 10 displays a launchscreen 300. The launch screen 300 includes a text string “AAA Company”that indicates the vendor of the MFP 100.

When the MFP application 40 is launched for the first time, a flagindicating that permission for use of the MFP application 40 has beengranted is not stored in the memory 34. Therefore, in step T46, themobile terminal 10 displays a permission screen 310 (e.g., NO in stepS15, and S20). The permission screen 310 includes a YES button thatenables the user to allow permission for use of the MFP application 40,and a NO button that enables the user to disallow permission for use ofthe MFP application 40.

In step T48, the mobile terminal 10 receives input of a user selectionof the YES button included in the permission screen 310 (e.g., YES instep S25). In response to this, in step T50, the mobile terminal 10displays a default function screen 320. The default function screen 320includes a function selecting field 320A including (e.g., displaying)text strings indicating the predetermined functions, e.g., the printingfunction and the scanning function. Nevertheless, at this moment, themobile terminal 10 does not allow the user to perform any operation forselecting one of the functions. The default function screen 320 furtherincludes a model name field 320B for displaying the model name of theMFP 100. Nevertheless, at this moment, the mobile terminal 10 has notreceived the model name of the MFP 100 yet. Therefore, the model name isnot displayed in the model name field 320B.

In step T60, the mobile terminal 10 broadcasts a probe request. Inresponse to this, in step T70, the mobile terminal 10 receives a proberesponse from the MFP 100 (e.g., step S35). The probe response includesthe MAC address “A1” and the SSID “D1”. The mobile terminal 10identifies the probe response sent from the MFP 100 based on the MACaddress “A1” received in step T30, and further identifies the SSID “D1”included in the probe response. In step T80, the mobile terminal 10unicasts a probe request including the identified SSID “D1” to the MFP100. In response to this, in step T90, the mobile terminal 10 receives aprobe response from the MFP 100, and performs communication of varioussignals (e.g., Authentication signals, Association signals, WPSExchange, and 4-way handshake) with the MFP 100 (e.g., step S35). Thus,in step T92, the mobile terminal 10 establishes a WFD connection withthe MFP 100 (e.g., step S35).

In step T100 of FIG. 4, the mobile terminal 10 transmits an MFPinformation request to the MFP 100 via the WFD connection established instep T92 of FIG. 3. In response to this, in step T110, the mobileterminal 10 receives MFP information from the MFP 100 (e.g., step S40).The MFP information includes the model name “M1”, function information102 (refer to FIG. 1), and capability information 104. The capabilityinformation 104 includes information indicating that a first tray and asecond tray are both available for the MFP 100, as information for theprinting function. In step T112, the CPU 32 stores history informationinto the history area 48 (e.g., step S43). The history informationincludes the serial number “N1” received in step T30 of FIG. 3 and theMFP information (e.g., the model “M1”, the function information 102, andthe capability information 104) received in step T110.

In step T120, the mobile terminal 10 displays a function screen 330 forthe MFP 100 based on the function information 102 and the model name“M1” included in the history information (e.g., step S45). The functionscreen 330 includes a function selecting field 330A and a model namefield 330B. The function selecting field 330A displays text stringsindicating the functions identified by the function information 102(e.g., the printing function, the scanning function, and the copyingfunction). The model name field 330B displays the model name “M1” of theMFP 100.

In step T130, the mobile terminal 10 receives input of a user selectionof a print button including the text string indicating the printingfunction, on the function screen 330. In response to this, the mobileterminal 10 identifies the capability information 104 for the printingfunction included in the history information stored in the history area48. In step T140, the mobile terminal 10 displays a setting screen 340based on the identified capability information 104. The setting screen340 includes a setting field 340A for enabling the user to select one ofthe options, the first tray or the second tray.

In step T150, the mobile terminal 10 receives input of a user selectionof an option of the first tray as the sheet tray to be used. The settingscreen 340 is further configured to enable the user to select optionsfor the other settings, e.g., printing resolution, printing color (e.g.,color or monochrome), and duplex printing (e.g., on or off). The settingscreen 340 is further configured to enable the user to select an imagefile representing an image to be printed. The user selects a desiredimage file as well as the desired options for the print settings inaddition to the sheet tray.

In step T160, the mobile terminal 10 converts the image file to generateprint data having a data format interpretable by the MFP 10.Subsequently, the mobile terminal 10 transmits, to the MFP 100, aprinting execution instruction including the print data and the settinginformation indicating all the print settings specified by the user(e.g., the first tray specified in step T150). The printing executioninstruction may be a command for causing the MFP 100 to execute theprinting function.

In step T170, in response to receipt of the printing executioninstruction from the mobile terminal 10, the MFP 100 executes theprinting function using the print data in accordance with the settinginformation included in the printing execution instruction.

(Processing Executed when MFP Application 40 is Launched for the Secondor Subsequent Times: FIGS. 5 to 8)

Referring to FIGS. 5 and 8, an explanation will be made on processingexecuted when the MFP application 40 is launched again after theprocessing of FIGS. 3 and 4. In this case, the mobile terminal 10already stores the history information in the history area 48 (e.g.,step T112 of FIG. 4).

(Case A: FIG. 5)

In Case A of FIG. 5, the WFD connection has been established since theWFD connection was established in step T92 of FIG. 3. Details of stepsT210 to T242 are the same or similar to the details of steps T10 to T42of FIG. 3. When the MFP application 40 was launched for the first time,in step T48 of FIG. 3, the mobile terminal 10 stored, in the memory 34,the permission flag indicating that permission for use of the MFPapplication 40 has been granted (e.g., YES in step S15 of FIG. 2). InCase A, therefore, the mobile terminal 10 does not display thepermission screen. In step T244, the mobile terminal 10 determines thatthe history information is already stored in the history area 48 (e.g.,YES in step S47) and also determines that the serial number “N1”included in the history information matches with the serial numberreceived in step T230 (e.g., YES in step S50). In response to this, instep T246, the mobile terminal 10 displays the function screen 330 basedon the model name “M1” and the function information 102 both included inthe history information 48 (e.g., step S65) similarly to step T120 ofFIG. 4.

In step T250, the mobile terminal 10 determines that the WFD connectionhas been established with the MFP 100 (e.g., YES in step S70) and thusthe mobile terminal 10 does not execute the processing forreestablishing a WFD connection with the MFP 100 (e.g., step S75).Through steps T270 and T280, the mobile terminal 10 receives MFPinformation from the MFP 100 via the WFD connection. At this moment ofFIG. 4, both of the first tray and the second tray are available in theMFP 100. Nevertheless, at the same moment of FIG. 5, only the first trayis available due to, for example, removal of the second tray from theMFP 100. Therefore, the MFP information received in step T280 includescapability information 106 indicating that only the first tray isavailable. In step T282, the mobile terminal 10 erases the historyinformation from the history area 48 and stores new history informationincluding the received MFP information in the history area 48 (e.g.,step S85).

Details of step T290 is the same or similar to the details of step T130of FIG. 4. In step T300, the mobile terminal 10 displays a settingscreen 350 based on the capability information 106 included in thehistory information. Therefore, the setting screen 350 shows differentcontents from the setting screen 340. More specifically, for example, asetting field 350A of the setting screen 350 is configured to enable theuser to select the option of the first tray only. As described above, inresponse to the change of the capability information of the MFP 100, themobile terminal 10 may display the different setting screen 350 based onthe changed capability information. Consequently, the user may select anappropriate option in the print settings. Details of steps T310 to T330are the same or similar to the details of steps T150 to T170 of FIG. 4.

(Case B: FIG. 6)

In Case B of FIG. 6, the WFD connection established in step T92 of FIG.3 has been broken and the MFP 100 is not in the G/O status. Details ofsteps T210 to T230 of FIG. 6 are the same or similar to the details ofsteps T210 to T230 of FIG. 5. In step T440, the MFP 100 becomes the G/Ostatus again and configures another WFDNW identified by a new SSID “D2”.Details of steps T240 to T246 of FIG. 6 are the same or similar to thedetails of steps T240 to T246 of FIG. 5.

In step T450, the mobile terminal 10 determines that a WFD connection isnot currently established with the MFP 100 (e.g., NO in step S70). Inresponse to this, through steps T460 to T492, the mobile terminal 10reestablishes a WFD connection with the MFP 100 (e.g., step S75).Details of steps T460 to T492 are the same or similar to the details ofsteps T60 to T92 of FIG. 3 except that a probe response transmitted instep T470 and a probe request transmitted in step T480 each include theSSID “D2”, which is different from the SSID “D1”. Details of steps T270to T330 of FIG. 6 are the same or similar to the details of steps T270to T330 of FIG. 5.

(Case C: FIGS. 7 and 8)

In Case C of FIGS. 7 and 8, the mobile terminal 10 establishes an NFCconnection with the MFP 200, which is different from the MFP 100.Details of steps T510 to T520 are the same or similar to the details ofsteps T10 to T20 of FIG. 3 except that the target device is the MFP 200instead of the MFP 100. In step T530, the mobile terminal 10 receivesNDEF information from the MFP 200. The NDEF information includes an AAR,a MAC address “A2” of the MFP 200, a serial number “N2” of the MFP 200,and type information of the first record (e.g., the TNF “0x04” and theType “Z”). In step T532, the MFP 200 becomes the G/O status andconfigures another WFDNW identified by an SSID “D3”.

Details of steps T540 and T542 are the same or similar to the details ofsteps T240 and T244 of FIG. 5. In step T544, the mobile terminal 10determines that the serial number included in the history information(e.g., the serial number “N1”) does not match with the serial numberreceived in step T530 (e.g., the serial number “N2”) (e.g., NO in stepS50 of FIG. 2). In response to this, in step T550, the mobile terminal10 displays a confirmation screen 355 for asking the user whether a WFDconnection needs to be established with the MFP 200 (e.g., step S55). Instep T552, the mobile terminal 10 receives input of a user selection ofan OK button included in the confirmation screen 355 (e.g., YES in stepS60). In response to this, in step T554, the mobile terminal 10 displaysthe default function screen 320 similar to step T50 of FIG. 2 (e.g.,step S30).

Details of steps T560 to T592 are the same or similar to the details ofsteps T60 to T92 of FIG. 3 except that a probe response transmitted instep T570 includes the MAC address “A2” and the SSID “D3” and a proberequest transmitted in step T580 includes the SSID “D3”. Thus, themobile terminal 10 establishes a WFD connection with the MFP 200 (e.g.,step S35).

Through steps T600 and T610 of FIG. 8, the mobile terminal 10 receivesMFP information from the MFP 200 via the WFD connection established instep T592 of FIG. 7 (e.g., step S40). The MFP information includes themodel name “M2” of the MFP 200, the function information 202 (refer toFIG. 1), and capability information 204. In step T612, the mobileterminal 10 erases the history information from the history area 48 andstores new history information including the received MFP information inthe history area 48.

In step T620, the mobile terminal 10 displays a function screen 360 forthe MFP 200 based on the function information 202 and the model name“M2” included in the history information (e.g., step S45). The functionscreen 360 includes a function selecting field 360A and a model namefield 360B. The function selecting field 360A includes or displays textstrings indicating the functions identified by the function information202 (e.g., the printing function, the scanning function, the copyingfunction, and the facsimile function). The model name field 360Bincludes or displays the model name “M2” of the MFP 200. Details ofsteps T630 to T670 are the same or similar to the details of steps S130to S170 of FIG. 4 except that the target device is the MFP 200.

(Effects of Illustrative Embodiment)

In the illustrative embodiment, the user brings the mobile terminal 10close to the MFP 100 (e.g., step T10 of FIG. 3) to establish an NFCconnection between the mobile terminal 10 and the MFP 100 (e.g., stepT12). In this case, when the MFP application 40 is launched by the OSprogram 38 in response to receipt of NDEF information from the MFP 100via the NFC connection (e.g., step T30), the MFP application 40 receivesthe NDEF information from the OS program 38. The NDEF informationincludes the MAC address “A1”. Therefore, the mobile terminal 10 mayestablish a WFD connection with the MFP 100 using the MAC address “A1”in accordance with the MFP application 40 without requiring anyoperation event performed by the user for selecting the SSID “D1”included in the probe response received in step T70 of FIG. 3, i.e.,without requiring a device selecting operation performed by the user forselecting the MFP 100 (e.g., steps T60 to T92). Subsequently, the mobileterminal 10 receives the MFP information including the functioninformation 102 from the MFP 100 via the WFD connection in accordancewith the MFP application 40 (e.g., step T110 of FIG. 4) and displays thefunction screen 330 based on the received function information 102(e.g., step T140). That is, close approach of the mobile terminal 10 tothe MFP 100 may cause the function screen 330 to appear. Therefore, theuser may confirm the function screen 330 without performing any inputoperation for selecting an appropriate device. This configuration maytherefore increase user friendliness.

Further, in response to establishment of an NFC connection between themobile terminal 10 and the MFP 100 (e.g., step T12) by close approach ofthe mobile terminal 10 to the MFP 100 (e.g., step T10), the MFPapplication 40 may be launched without requiring any input operationevent (e.g., step T40). This configuration may therefore eliminate theneed for any user operation for launching the MFP application 40, whichmay result in further increasing user friendliness.

Once the MFP application 40 is launched, the mobile terminal 10broadcasts a probe request without requiring any input operation eventfor searching one or more master stations surrounding the mobileterminal 10 (e.g., step T60). Thus, this configuration may eliminate theneed for any user operation for searching one or more master stations,which may result in further increasing user friendliness.

In particular, as described in Case B of FIG. 6, the mobile terminal 10may establish a WFD connection with the MFP 100 automatically inaccordance with the MFP application 40 without requiring any inputoperation event performed by the user (e.g., the launching operation,the device selecting operation, the searching operation, the operationperformed in step T48 of FIG. 3, and the operation performed in stepT552 of FIG. 7) on the operation interface 12 and the display 14functioning as the touch screen (e.g., step T492). That is, closeapproach of the mobile terminal 10 to the MFP 100 only may cause thefunction screen 330 to appear. Therefore, the user may confirm thefunction screen 330 without performing any input operation onto theoperation interface 12 and the display 14. This configuration maytherefore further increase user friendliness.

(Correspondences)

The mobile terminal 10 is an example of a “terminal”. The MFP 100 is anexample of a “first function-executing device”. In each of Case A ofFIG. 5 and Case B of FIG. 6, the MFP 100 is an example of a “secondfunction-executing device”. In Case C of FIGS. 7A and 8, the MFP 200 isan example of the “second function-executing device”. The MFPapplication 40 is an example of a “computer program”. The package name“X” is an example of “program identifying information”. The NFC I/F 18is an example of a “first wireless interface”. The Wi-Fi® I/F 16 is anexample of a “second wireless interface”. The NFC connection in step T12of FIG. 3 is an example of a “first wireless connection”. The WFDconnection in step T92 of FIG. 3 is an example of a “second wirelessconnection”. The NFC connection in step T212 of Case B of FIG. 6 isanother example of the “first wireless connection”. The WFD connectionin step T492 of Case B of FIG. 6 is another example of the “secondwireless connection”. Each of the NFC connection in step T212 of FIG. 5,the NFC connection in step T212 of FIG. 6, and the NFC connection instep T512 of FIG. 7 is an example of a “third wireless connection”. TheWFD connection in step T592 of FIG. 7 is an example of a “fourthwireless connection”. The WFD connection established in the initialstatus of FIG. 5 is an example of a “fifth wireless connection”. The WFDconnection established in step T492 of FIG. 6 is an example of a “sixthwireless connection”.

The NDEF information transmitted in step T30 of FIG. 3 is an example of“first identifying information. Each of the NDEF information transmittedin step T230 of FIG. 5 and the NDEF information transmitted in step T530of FIG. 7 is an example of “second identifying information. The MACaddress “A1” transmitted in step T30 of FIG. 3 is an example of a “firstdevice-identifying information. The serial number “N1” transmitted instep T30 of FIG. 3 is an example of a “second device-identifyinginformation. Each of the serial number “N1” transmitted in step T230 ofFIG. 5 and the serial number “N2” transmitted in step T530 of FIG. 7 isan example of a “third device-identifying information. The MAC address“A2” transmitted in step T530 of FIG. 7 is an example of a “fourthdevice-identifying information. The function information 102 transmittedin step T110 of FIG. 4 is an example of “first function information”.The function information 202 transmitted in step T610 of FIG. 8 is anexample of “second function information”. The function screen 330 is anexample of a “first function screen”. The function screen 360 is anexample of a “second function screen”. The setting screen 340 is anexample of a “first setting screen”. The setting screen 350 is anexample of a “second setting screen”. The printing function is anexample of a “first function”. The capability information 104transmitted in step T110 of FIG. 4 is an example of “first capabilityinformation”. The capability information 106 transmitted in step T280 ofFIG. 5 is an example of “second capability information”. The printingexecution instruction transmitted in step T160 of FIG. 4 is an exampleof a “first function-execution instruction”. The printing executioninstruction transmitted in step T320 of FIG. 5 is an example of a“second function-execution instruction”.

While the disclosure has been described in detail with reference to thespecific embodiment thereof, this is merely an example, and variouschanges, arrangements and modifications may be applied therein withoutdeparting from the spirit and scope of the disclosure. Variousvariations of the illustrative embodiment will be described below.

(First Variation)

Each of the mobile terminal 10 and the MFPs 100 and 200 may include,instead of the NFC I/F 18, an I/F for enabling each device to performwireless communication in compliance with another communication systemthat may be different from the NFC system (e.g., an infraredcommunication system, a TransferJet™ (TransferJet™ is a trademark ownedby Sony Corporation of Tokyo, Japan) system, or a Bluetooth® (Bluetooth®is a registered trademark owned by BLUETOOTH SIG. INC. of Kirkland,Wash.) system. In this case, each of the mobile terminal 10 and the MFPs100 and 200 may communicate information corresponding to the NDEFinformation with each other using wireless connection via such an I/F.That is, the “first communication interface” is not limited to the NFCI/F 18, and may be an I/F for enabling short-distance wirelesscommunication in compliance with another communication system.

(Second Variation)

In one example, prior to establishment of an NFC connection with themobile terminal 10 (e.g., prior to step T10 of FIG. 3), the MFP 100 maygenerate and store an SSID for identifying a wireless network to beconfigured by the MFP 100 (hereinafter, referred to as the “targetSSID”). In this case, in step S5 of FIG. 2, the mobile terminal 10 mayreceive NDEF information including the target SSID instead of the MACaddress of the target MFP. In step S35, the mobile terminal 10 mayidentify the probe response including the target SSID from one or moreprobe responses received in response to broadcast of a prove request,and may unicast a probe request including the target SSID. In the secondvariation, also, the mobile terminal 10 may establish a wirelessconnection with the target MFP without requiring the device selectingoperation performed by the user. In the second variation, the targetSSID is an example of each of the “first device identifying information”and the “fourth device identifying information”.

(Third Variation)

In step S43 of FIG. 2, the mobile terminal 10 may store historyinformation including the MAC address of the target MFP instead of theserial number. In this case, in step S50, the mobile terminal 10 maydetermine whether the MAC address included in the history informationmatches with the MAC address received in step S5. In the thirdvariation, the MAC address is an example of each of the “second deviceidentifying information” and the “third device identifying information”.

(Fourth Variation)

In the illustrative embodiment and the first to third variations, theMFP 100 operates as a master station, i.e., a group owner (G/O).Alternatively, in one example, in step S35 of FIG. 2, the mobileterminal 10 may operate as the G/O and establish a WFD connection withthe target MFP by transmitting an Invitation request including the MACaddress of the target MFP to the target MFP. That is, each of the“second wireless connection” and the “fourth wireless connection” may bea wireless connection in which the terminal operates as a slave station,or may be a wireless connection in which the terminal operates as amaster station. In another example, the mobile terminal 10 might notnecessarily support a WFD system. In this case, the mobile terminal 10may establish a wireless connection with the MFP 100, in compliance witha legacy system. In still another example, the mobile terminal 10 mightnot necessarily establish a wireless connection in compliance with aWi-Fi® system (e.g., the WFD system or a legacy Wi-Fi® system).Alternatively, the mobile terminal 10 may establish a wirelessconnection with the MFP 100 in accordance with a Bluetooth® system(Bluetooth® is a registered trademark owned by BLUETOOTH SIG. INC. ofKirkland, Wash.). That is, the “second wireless connection” and the“fourth wireless connection” are not limited to the WFD connection.

(Fifth Variation)

The OS program 38 may be configured to, even if NDEF information notincluding the package name “X” is received, launch the MFP application40. That is, the “first identifying information” might not necessarilyinclude the program identifying information.

(Sixth Variation)

The processing of each of steps S15 to S25 of FIG. 2 might not necessarybe executed.

(Seventh Variation)

The MFP information transmitted in each of step T110 of FIG. 4, stepT280 of FIG. 5, and step T610 of FIG. 8 might not necessarily includethe capability information. In this case, the setting screen displayedin step T140 of FIG. 4 might not necessary be displayed.

(Eighth Variation)

The processing of each of steps S43 and S47 to S85 of FIG. 2 may beomitted. In this case, when a positive determination (e.g. YES) is madein step S15, the routine may proceed to step S30.

(Ninth Variation)

The each of the “first function-executing device” and the secondfunction-executing device” might not necessarily be a device capable ofexecuting the printing function and the scanning function, and may beanother device, e.g., a general-purpose computer or a server.

(Tenth Variation)

In the illustrative embodiment and variations, the processing in allsteps illustrated in FIGS. 2 to 8 is implemented by software (e.g., theprogram). Nevertheless, in this variation, for example, the processingin at least one of the steps depicted in FIGS. 2 to 8 may be implementedby hardware, for example, a logical circuit.

The technical elements described in the specification and the drawingsexhibit technical usability alone or in various combinations, and arenot limited to those in the claims at the time of the application of thedisclosure. Further, the techniques described as examples in thespecification or drawings may achieve a plurality of objectssimultaneously, and has technical utility by achieving any one of theseobjects.

What is claimed is:
 1. A non-transitory computer-readable storage mediumstoring a computer program for causing a computer of a terminal toperform: receiving first device-identifying information from anoperating system (“OS”) program of the terminal, wherein the firstdevice-identifying information identifies a first function-executingdevice and is included in first identifying information received at theterminal, the first identifying information being received at theterminal from the first function executing device via a first wirelessconnection established between the terminal and the first functionexecuting device via a first wireless interface of the terminal;receiving first function information that indicates at least onefunction executable by the first function-executing device, from thefirst function-executing device via a second wireless connection betweena second wireless interface of the terminal and the firstfunction-executing device, wherein the second wireless connection isestablished using the first device-identifying information and withoutrequiring user input of an operation for selecting a connection-targetfunction-executing device as the first function-executing device from atleast one function-executing device, and wherein a maximum communicablespeed of wireless communication via the second wireless interface isfaster than a maximum communicable speed of wireless communication viathe first wireless interface; and displaying, on a display of theterminal, at least one user-selectable function included in a firstfunction screen, the at least one user-selectable function selected fordisplay based on the first function information and executable by thefirst function-executing device.
 2. The non-transitory computer readablestorage medium according to claim 1, wherein receiving the firstdevice-identifying information from the OS occurs based on the computerprogram being launched by the OS.
 3. The non-transitory computerreadable storage medium according to claim 2, wherein the computerprogram being launched by the OS occurs in response to receipt of thefirst device-identifying information at the terminal.
 4. Thenon-transitory computer readable storage medium according to claim 1,wherein displaying the first function screen includes displaying acollection of one or more selectable function fields, the collectionbeing selected based on the first function information.
 5. Thenon-transitory computer readable storage medium according to claim 1,wherein the first wireless interface comprises a near fieldcommunication interface, the second wireless interface comprises a Wi-Fiinterface, and the first device-identifying information includes aserial number of the function-executing device.
 6. The non-transitorycomputer readable storage medium according to claim 1, wherein thesecond wireless connection is established automatically between theterminal and the first function-executing device via a second wirelessinterface of the terminal.
 7. The non-transitory computer readablestorage medium according to claim 1, wherein the first identifyinginformation further includes program identifying information thatidentifies the computer program, and wherein, in response to receipt ofthe first identifying information from the first function-executingdevice via the first wireless connection, the computer programidentified by the program identifying information included in the firstidentifying information is launched.
 8. The non-transitory computerreadable storage medium according to claim 7, wherein the computerprogram further causes the terminal to perform: selectively determining,when the computer program is launched, whether to display a permissionscreen based on whether permission for use of the computer program hasbeen granted by a user; in a case that it is determined that the usagepermission has not been granted, displaying, on the display, apermission screen for enabling the user to grant usage permission; andin a case that it is determined that the usage permission has beengranted, not displaying the permission screen; wherein establishing thesecond wireless connection further includes: in a case that it isdetermined that the usage permission has been granted, establishing thesecond wireless connection between the terminal and the firstfunction-executing device; in a case that the usage permission is notgranted by the user through the permission screen, not establishing thesecond wireless connection between the terminal and the firstfunction-executing device.
 9. The non-transitory computer readablestorage medium according to claim 1, wherein the computer programfurther causes the terminal to perform: based at least in part on userselection of a first function from the at least one function performedon the first function screen, transmitting, to the firstfunction-executing device via the second wireless connection, a firstfunction-execution instruction for causing the first function-executingdevice to execute the first function.
 10. The non-transitory computerreadable storage medium according to claim 9, wherein the computerprogram further causes the terminal to perform: receiving, via thesecond wireless connection, first capability information that indicatescapability of the first function-executing device relating to the firstfunction, from the first function-executing device; and in response touser selection of a first function from the at least one function isperformed on the first function screen, displaying, on the display ofthe terminal, based on the first capability information, a first settingscreen for enabling the user to select, from at least one setting, asetting for causing the first function-executing device to execute thefirst function, wherein transmitting the first function-executioninstruction further includes: in response to user selection of a firstsetting is performed on the first setting screen, transmitting the firstfunction-execution instruction including first setting informationindicating the first setting.
 11. The non-transitory computer readablestorage medium according to claim 1, wherein the first identifyinginformation further includes second device-identifying information thatidentifies the first function-executing device, wherein the computerprogram further causes the terminal to perform: subsequent to receipt ofthe first function information from the first function-executing devicevia the second wireless connection, storing the first functioninformation and the second device-identifying information in a memory ofthe terminal; in a case a third wireless connection is establishedbetween the terminal and a second function-executing device via thefirst wireless interface, receiving second specific information from thesecond function-executing device via the third wireless connectionsubsequent to storing the first function information and the seconddevice-identifying information in the memory; selectively determiningwhether the first function screen is required to be displayed based onwhether third device-identifying information that identifies the secondfunction-executing device included in the second specific informationmatches with the second device-identifying information stored in thememory; in a case it is determined that the third device-identifyinginformation matches with the second device-identifying information,displaying the first function screen again on the display based on thefirst function information stored in the memory; and in a case it isdetermined that the third device-identifying information does not matchwith the second device-identifying information, not displaying the firstfunction screen.
 12. The non-transitory computer readable storage mediumaccording to claim 11, wherein the computer program further causes theterminal to perform: in a case it is determined that the thirddevice-identifying information does not match with the seconddevice-identifying information, displaying, on the display of theterminal, a confirmation screen for enabling user selection of whether awireless connection via the second wireless interface is required to beestablished between the terminal and the second function-executingdevice; selectively determining whether a fourth wireless connection isrequired to be established based on user selection of whether a wirelessconnection is required to be established between the terminal and thesecond function-executing device performed on the confirmation screen;in a case that the user selection indicates that a wireless connectionis required to be established is performed on the confirmation screen,establishing a fourth wireless connection between the terminal and thesecond function-executing device via the second wireless interface usingfourth device-identifying information included in the second specificinformation; and in a case that the user selection indicates that awireless connection is not required to be established is performed onthe confirmation screen, not establishing the fourth wirelessconnection; in response to establishment of the fourth wirelessconnection, receiving, from the second function-executing device via thefourth wireless connection, second function information that indicatesat least one function executable by the second function-executingdevice; and displaying, on the display of the terminal, at least oneuser-selectable function included in a second function screen, the atleast one user-selectable function selected for display based on thesecond function information and executable by the secondfunction-executing device.
 13. The non-transitory computer readablestorage medium according to claim 11, wherein the computer programfurther causes the terminal to perform: receiving, from the firstfunction-executing device via the second wireless connection, firstcapability information that indicates a capability of the firstfunction-executing device relating to the first function; in a case thatuser selection indicates that a wireless connection is required to beestablished is performed on the confirmation screen and the firstcapability information is received, displaying, on the display of theterminal, based on the first capability information, a first settingscreen including a first setting.
 14. The non-transitory computerreadable storage medium according to claim 13, wherein the computerprogram further causes the terminal to perform: in a case that userselection of the first setting is performed on the first setting screen,transmitting, to the first function-executing device via the secondwireless connection, a first function-execution instruction that causesthe first function-executing device to execute the first function andincludes first setting information indicating the first setting.
 15. Thenon-transitory computer readable storage medium according to claim 14,wherein the computer program further causes the terminal to perform: ina case that it is determined that the third device-identifyinginformation matches with the second device-identifying information,receiving second capability information that indicates capability of thefirst function-executing device relating to the first function, from thefirst function-executing device using a fifth wireless connection viathe second wireless interface, wherein the second capability informationis different from the first capability information; in a case that userselection of the first setting is performed on the first setting screenand the second capability information is received, displaying, on thedisplay of the terminal, based on the second capability information, asecond setting screen including a second setting, wherein the secondsetting screen is different from the first setting screen; and in a casethat user selection of the second setting is performed on the secondsetting screen, transmitting, to the first function-executing device viathe second wireless interface, a second function-execution instructionthat causes the first function-executing device to execute the firstfunction and includes second setting information indicating the secondsetting.
 16. A terminal comprising: a first wireless interface; a secondwireless interface that is different from the first wireless interface,wherein a maximum communicable speed of wireless communication via thesecond wireless interface is faster than a maximum communicable speed ofwireless communication via the first wireless interface; a display; amemory; and a controller configured to execute instructions from thememory that, when executed, cause the terminal to perform: receivingfirst device-identifying information, wherein the firstdevice-identifying information identifies a first function-executingdevice and is included in first identifying information received at theterminal, the first identifying information being received at theterminal from the first function executing device via a first wirelessconnection established between the terminal and the first functionexecuting device via the first wireless interface; in response toreceipt of the first device-identifying information, establishing asecond wireless connection via the second wireless interface using thefirst device-identifying information without requiring user input of anoperation for selecting a connection-target function-executing devicefrom at least one function-executing device; and receiving firstfunction information that indicates at least one function executable bythe first function-executing device, from the first function-executingdevice via the second wireless connection between the second wirelessinterface of the terminal and the first function-executing device,wherein the second wireless connection is established using the firstdevice-identifying information, and displaying, on a display of theterminal, at least one user-selectable function included in a firstfunction screen, the at least one user-selectable function selected fordisplay based on the first function information and executable by thefirst function-executing device.
 17. The terminal according to claim 16,wherein displaying the first function screen includes displaying acollection of one or more selectable function fields, the collectionbeing selected based on the first function information.
 18. A methodcomprising: receiving first device-identifying information, wherein thefirst device-identifying information identifies a firstfunction-executing device and is included in first identifyinginformation received at a terminal, the first identifying informationbeing received at the terminal from the first function executing devicevia a first wireless connection established between the terminal and thefirst function executing device via a first wireless interface of theterminal; in response to receipt of the first device-identifyinginformation, establishing a second wireless connection via a secondwireless interface of the terminal using the first device-identifyinginformation without requiring user input of an operation for selecting aconnection-target function-executing device from at least onefunction-executing device; and receiving first function information thatindicates at least one function executable by the firstfunction-executing device, from the first function-executing device viathe second wireless connection between the second wireless interface ofthe terminal and the first function-executing device, wherein the secondwireless connection is established using the first device-identifyinginformation; and displaying, on a display of the terminal, at least oneuser-selectable function included in a first function screen, the atleast one user-selectable function selected for display based on thefirst function information and executable by the firstfunction-executing device; wherein a maximum communicable speed ofwireless communication via the second wireless interface is shorter thana maximum communicable speed of wireless communication via the firstwireless interface.
 19. The method according to claim 18, whereindisplaying the first function screen includes displaying a collection ofone or more selectable function fields, the collection being selectedbased on the first function information.
 20. The method according toclaim 18, wherein the method is performed by a computer program runningon the terminal.